package com.ruoyi.attendance.domain;

import com.fasterxml.jackson.annotation.JsonFormat;

import java.util.Date;

/**
 * @Author: @Weiney
 * @ClassName: AttendanceStatusVo
 * @Description: 签到状态VO
 * @Create: 2025-04-13
 **/

public class AttendanceStatusVo {
    // 上班打卡时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date clockInTime;
    // 下班打卡时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date clockOutTime;
    // 上班打卡状态，true 表示已打卡，false 表示未打卡
    private boolean clockInStatus;
    // 下班打卡状态，true 表示已打卡，false 表示未打卡
    private boolean clockOutStatus;
    // 上班打卡状态
    private Long signInStatus;
    // 下班打卡状态
    private Long signOutStatus;

    public AttendanceStatusVo() {
    }

    public AttendanceStatusVo(Date clockInTime, Date clockOutTime, boolean clockInStatus, boolean clockOutStatus, Long signInStatus, Long signOutStatus) {
        this.clockInTime = clockInTime;
        this.clockOutTime = clockOutTime;
        this.clockInStatus = clockInStatus;
        this.clockOutStatus = clockOutStatus;
        this.signInStatus = signInStatus;
        this.signOutStatus = signOutStatus;
    }

    public Long getSignInStatus() {
        return signInStatus;
    }

    public void setSignInStatus(Long signInStatus) {
        this.signInStatus = signInStatus;
    }

    public Long getSignOutStatus() {
        return signOutStatus;
    }

    public void setSignOutStatus(Long signOutStatus) {
        this.signOutStatus = signOutStatus;
    }

    @Override
    public String toString() {
        return "AttendanceStatusVo{" +
                "clockInTime=" + clockInTime +
                ", clockOutTime=" + clockOutTime +
                ", clockInStatus=" + clockInStatus +
                ", clockOutStatus=" + clockOutStatus +
                ", signInStatus=" + signInStatus +
                ", signOutStatus=" + signOutStatus +
                '}';
    }

    public Date getClockInTime() {
        return clockInTime;
    }

    public void setClockInTime(Date clockInTime) {
        this.clockInTime = clockInTime;
    }

    public Date getClockOutTime() {
        return clockOutTime;
    }

    public void setClockOutTime(Date clockOutTime) {
        this.clockOutTime = clockOutTime;
    }

    public boolean isClockInStatus() {
        return clockInStatus;
    }

    public void setClockInStatus(boolean clockInStatus) {
        this.clockInStatus = clockInStatus;
    }

    public boolean isClockOutStatus() {
        return clockOutStatus;
    }

    public void setClockOutStatus(boolean clockOutStatus) {
        this.clockOutStatus = clockOutStatus;
    }
}